In recent years, non-volatile memories that are data-rewritable semiconductor devices have been widely used for various electronic devices such as portable telephone handsets and digital cameras. Flash memories that are typical non-volatile memories include NOR flash memories and NAND flash memories. In cases where a small amount of data for programming or the like is processed at high speeds, a NOR flash memory is often employed. In cases where a large amount of data such as image data is processed, a NAND flash memory is often employed.
A NOR flash memory includes a cell array in which the sources of memory cells are coupled together. The amount of data to be accessed by one-time writing or one-time reading is as small as several tens of bits, and the access time for reading is as short as 10 ns. On the other hand, a NAND flash memory has strings to which memory cells are coupled in series, and includes a cell array that has bit lines coupled to the respective strings. Writing and reading are collectively performed by page (2 Kbytes, for example). Therefore, the NAND flash memory has a page buffer for holding page data, and the page data is collectively written from the page buffer into the memory cell array. Also, the page data is collectively read from the memory cell array into the page buffer. Because of this structure of the memory cell array, the initial access time for reading is as long as 50 μs, but the data on one page can be continuously output. A NAND flash memory is normally formed with memory cells that have floating gates as charge accumulating layers. Writing in a memory cell is performed through a FN tunnel phenomenon caused by generating a high potential between the control gate on the floating gate and the substrate. Accordingly, a large amount of data of one page can be written at once.
Also, a copy back mode has been suggested for NAND flash memories. In the copy back mode, page data stored in the memory cells is read into the page buffer, and the page data is written (or copied) onto a page at a different address. In this mode, the data read into the page buffer is not output to the outside, but can be copied inside. Accordingly, the operating time can be shortened. The copy back mode is often used by a host side (an external circuit) for managing a file called a garbage collection for the data stored in the NAND flash memory. In each page area, the information indicating whether the stored data is valid or invalid (flag data) is stored. To carry out the garbage collection, the host side needs to read the flag data in advance.
Meanwhile, U.S. Pat. No. 6,011,725 discloses a SONOS (Silicon Oxide Nitride Oxide Silicon) flash memory as a flash memory that includes virtual-ground memory cells that switch sources and drains and symmetrically activate the sources and drains. This flash memory is one type of a NOR flash memory, and performs writing in a memory cell by applying a high voltage to the drain and the control gate of the transistor in the memory cell and injecting hot electrons into the charge accumulating layer.
Also, the leaflet of International Publication No. 02/01574 discloses a flash memory that has bit lines divided so as to perform data reading at a higher speed than in a conventional NAND flash memory. In this flash memory, the memory cell array is divided into two areas, one on the page buffer side and one on the other side. Likewise, the bit lines are divided. A dividing transistor is provided between the two areas. When the dividing transistor is switched off, data can be read from the area on the page buffer side at a high speed. When the dividing transistor is switched on, data can be read from both areas at a normal speed.
In an electronic device that sometimes needs to process data at a high speed and sometimes needs to process a large amount of data with small power consumption, it is necessary to prepare a NOR flash memory and a NAND flash memory, respectively. Also, when the host side carries out the garbage collection, it is necessary to read the flag data in advance. However, in a NAND flash memory, a long period of time is required for reading the flag data.